package com.quanyan.user.service;

import com.lefu.commons.utils.Page;
import com.quanyan.api.APIResponse;
import com.quanyan.user.model.db.TbNewsPraise;
import com.quanyan.user.model.vo.request.ReqNewsPraise;
import com.quanyan.user.model.vo.request.ReqUserPraise;
import com.quanyan.user.model.vo.response.RespDynamicDetail;
import com.quanyan.user.model.vo.response.RespNewsPraise;

import java.util.List;
import java.util.Map;

/**
 * Created by Administrator on 2016/11/15.
 */
public interface NewsPraiseService {


    /**
     * 赞
     */
    byte praise_true = 1;

    /**
     * 取消赞
     */
    byte praise_false = 2;


    /**
     * 动态
     */
    Integer praise_style_dynamic = 0;

    /**
     * 视屏
     */
    Integer praise_style_video = 1;



    /**
     * 点赞列表
     * @param reqNewsPraise
     * @return
     */
    public APIResponse praiseList(ReqNewsPraise reqNewsPraise);


    /**
     * 点赞
     * @return
     */
    public APIResponse praise(ReqUserPraise reqUserPraise);


    /**
     * 取消点赞
     * @return
     */
    public APIResponse praiseCancel(ReqUserPraise reqUserPraise);


    /**
     *
     * @param uid
     * @param lstNewsId
     * @return
     */
    public List<TbNewsPraise> findNewsPraiseList(Integer uid ,List<Integer> lstNewsId);


    /**
     *
     * @param uid
     * @param lstNewsId
     * @return
     */
    public Map<Integer,TbNewsPraise> findNewsPraiseMap(Integer uid ,List<Integer> lstNewsId);






    /**
     * 获取用户点赞数
     * @param reqNewsPraise
     * @return
     */
    public Page<List<RespNewsPraise>> getDynamicPraiseList(ReqNewsPraise reqNewsPraise);


    /**
     * 查询用户点赞
     * @param lst
     * @return
     */
    public List<RespNewsPraise> findAllPraiseByNewsId(List<RespDynamicDetail> lst);


     public  APIResponse videoPraise(ReqUserPraise reqUserPraise);

    public  APIResponse videoPraiseCancel(ReqUserPraise reqUserPraise);
    }
